import java.util.Arrays;
import java.util.Scanner;

public class FanGaoSir {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[][] map = new int[n][n];
        int index = 0;
        for (int row = 0; row < n; row++) {
            for (int col = 0; col <= index; col++) {
                map[row][col] = fun(map, row, col);
            }
            index++;
        }
        index = 0;
        for (int row = 0; row < n; row++) {
            for (int col = 0; col <= index; col++) {
                if (col != index)
                    System.out.print(map[row][col] + " ");
                else
                    System.out.print(map[row][col]);
            }
            index++;
            if (row != n - 1)
                System.out.println();
        }
    }

    //获取某一个位置上面加上左上角的值
    public static int fun(int[][] map, int i, int j) {
//        越界性判断
        if (i < 0 || i >= map.length || j < 0 || j >= map[0].length || i - 1 < 0 || j - 1 < 0)
            return 1;
        return map[i - 1][j - 1] + map[i - 1][j];
    }
}
